{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 首先 import 必要的模块\n",
    "import pandas as pd \n",
    "import numpy as np\n",
    "\n",
    "from sklearn.model_selection import GridSearchCV\n",
    "\n",
    "#竞赛的评价指标为logloss\n",
    "from sklearn.metrics import log_loss  \n",
    "\n",
    "from matplotlib import pyplot\n",
    "import seaborn as sns\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 读取数据 & 数据探索"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Pregnancies</th>\n",
       "      <th>Glucose</th>\n",
       "      <th>BloodPressure</th>\n",
       "      <th>SkinThickness</th>\n",
       "      <th>Insulin</th>\n",
       "      <th>BMI</th>\n",
       "      <th>DiabetesPedigreeFunction</th>\n",
       "      <th>Age</th>\n",
       "      <th>Outcome</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>6</td>\n",
       "      <td>148</td>\n",
       "      <td>72</td>\n",
       "      <td>35</td>\n",
       "      <td>0</td>\n",
       "      <td>33.6</td>\n",
       "      <td>0.627</td>\n",
       "      <td>50</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>85</td>\n",
       "      <td>66</td>\n",
       "      <td>29</td>\n",
       "      <td>0</td>\n",
       "      <td>26.6</td>\n",
       "      <td>0.351</td>\n",
       "      <td>31</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>8</td>\n",
       "      <td>183</td>\n",
       "      <td>64</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>23.3</td>\n",
       "      <td>0.672</td>\n",
       "      <td>32</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>89</td>\n",
       "      <td>66</td>\n",
       "      <td>23</td>\n",
       "      <td>94</td>\n",
       "      <td>28.1</td>\n",
       "      <td>0.167</td>\n",
       "      <td>21</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>137</td>\n",
       "      <td>40</td>\n",
       "      <td>35</td>\n",
       "      <td>168</td>\n",
       "      <td>43.1</td>\n",
       "      <td>2.288</td>\n",
       "      <td>33</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Pregnancies  Glucose  BloodPressure  SkinThickness  Insulin   BMI  \\\n",
       "0            6      148             72             35        0  33.6   \n",
       "1            1       85             66             29        0  26.6   \n",
       "2            8      183             64              0        0  23.3   \n",
       "3            1       89             66             23       94  28.1   \n",
       "4            0      137             40             35      168  43.1   \n",
       "\n",
       "   DiabetesPedigreeFunction  Age  Outcome  \n",
       "0                     0.627   50        1  \n",
       "1                     0.351   31        0  \n",
       "2                     0.672   32        1  \n",
       "3                     0.167   21        0  \n",
       "4                     2.288   33        1  "
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 读取数据\n",
    "# path to where the data lies\n",
    "train = pd.read_csv(\"diabetes.csv\")\n",
    "train.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 768 entries, 0 to 767\n",
      "Data columns (total 9 columns):\n",
      "Pregnancies                 768 non-null int64\n",
      "Glucose                     768 non-null int64\n",
      "BloodPressure               768 non-null int64\n",
      "SkinThickness               768 non-null int64\n",
      "Insulin                     768 non-null int64\n",
      "BMI                         768 non-null float64\n",
      "DiabetesPedigreeFunction    768 non-null float64\n",
      "Age                         768 non-null int64\n",
      "Outcome                     768 non-null int64\n",
      "dtypes: float64(2), int64(7)\n",
      "memory usage: 54.1 KB\n"
     ]
    }
   ],
   "source": [
    "train.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Pregnancies</th>\n",
       "      <th>Glucose</th>\n",
       "      <th>BloodPressure</th>\n",
       "      <th>SkinThickness</th>\n",
       "      <th>Insulin</th>\n",
       "      <th>BMI</th>\n",
       "      <th>DiabetesPedigreeFunction</th>\n",
       "      <th>Age</th>\n",
       "      <th>Outcome</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>768.000000</td>\n",
       "      <td>768.000000</td>\n",
       "      <td>768.000000</td>\n",
       "      <td>768.000000</td>\n",
       "      <td>768.000000</td>\n",
       "      <td>768.000000</td>\n",
       "      <td>768.000000</td>\n",
       "      <td>768.000000</td>\n",
       "      <td>768.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>3.845052</td>\n",
       "      <td>120.894531</td>\n",
       "      <td>69.105469</td>\n",
       "      <td>20.536458</td>\n",
       "      <td>79.799479</td>\n",
       "      <td>31.992578</td>\n",
       "      <td>0.471876</td>\n",
       "      <td>33.240885</td>\n",
       "      <td>0.348958</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>3.369578</td>\n",
       "      <td>31.972618</td>\n",
       "      <td>19.355807</td>\n",
       "      <td>15.952218</td>\n",
       "      <td>115.244002</td>\n",
       "      <td>7.884160</td>\n",
       "      <td>0.331329</td>\n",
       "      <td>11.760232</td>\n",
       "      <td>0.476951</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.078000</td>\n",
       "      <td>21.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>99.000000</td>\n",
       "      <td>62.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>27.300000</td>\n",
       "      <td>0.243750</td>\n",
       "      <td>24.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>3.000000</td>\n",
       "      <td>117.000000</td>\n",
       "      <td>72.000000</td>\n",
       "      <td>23.000000</td>\n",
       "      <td>30.500000</td>\n",
       "      <td>32.000000</td>\n",
       "      <td>0.372500</td>\n",
       "      <td>29.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>6.000000</td>\n",
       "      <td>140.250000</td>\n",
       "      <td>80.000000</td>\n",
       "      <td>32.000000</td>\n",
       "      <td>127.250000</td>\n",
       "      <td>36.600000</td>\n",
       "      <td>0.626250</td>\n",
       "      <td>41.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>17.000000</td>\n",
       "      <td>199.000000</td>\n",
       "      <td>122.000000</td>\n",
       "      <td>99.000000</td>\n",
       "      <td>846.000000</td>\n",
       "      <td>67.100000</td>\n",
       "      <td>2.420000</td>\n",
       "      <td>81.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       Pregnancies     Glucose  BloodPressure  SkinThickness     Insulin  \\\n",
       "count   768.000000  768.000000     768.000000     768.000000  768.000000   \n",
       "mean      3.845052  120.894531      69.105469      20.536458   79.799479   \n",
       "std       3.369578   31.972618      19.355807      15.952218  115.244002   \n",
       "min       0.000000    0.000000       0.000000       0.000000    0.000000   \n",
       "25%       1.000000   99.000000      62.000000       0.000000    0.000000   \n",
       "50%       3.000000  117.000000      72.000000      23.000000   30.500000   \n",
       "75%       6.000000  140.250000      80.000000      32.000000  127.250000   \n",
       "max      17.000000  199.000000     122.000000      99.000000  846.000000   \n",
       "\n",
       "              BMI  DiabetesPedigreeFunction         Age     Outcome  \n",
       "count  768.000000                768.000000  768.000000  768.000000  \n",
       "mean    31.992578                  0.471876   33.240885    0.348958  \n",
       "std      7.884160                  0.331329   11.760232    0.476951  \n",
       "min      0.000000                  0.078000   21.000000    0.000000  \n",
       "25%     27.300000                  0.243750   24.000000    0.000000  \n",
       "50%     32.000000                  0.372500   29.000000    0.000000  \n",
       "75%     36.600000                  0.626250   41.000000    1.000000  \n",
       "max     67.100000                  2.420000   81.000000    1.000000  "
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "## 各属性的统计特性\n",
    "train.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xd331828>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYQAAAENCAYAAAAPAhLDAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzt3Xt8XGWd+PHPNzO5Nvdbc2/aJr0XeklboKDVKhRUilKk4AUVZVVwdXV/K7ir6+KyK653RdeuIIhKQUCMWgG1IJRL2/QCbdqGpk3TJr0kadLcmnu+vz/mFGOaNNN0kpOZ+b5fr7x65sxzznyfzmS+ec7znOcRVcUYY4yJcDsAY4wxE4MlBGOMMYAlBGOMMQ5LCMYYYwBLCMYYYxyWEIwxxgCWEIwxxjgsIRhjjAEsIRhjjHF43Q7gfKSnp2thYaHbYRhjTFDZtm1bg6pmjFQuqBJCYWEhZWVlbodhjDFBRUSq/Slnl4yMMcYAlhCMMcY4LCEYY4wBLCEYY4xx+JUQRGSViFSISKWI3DnE89Ei8qjz/GYRKXT2p4nIcyLSJiI/HHRMlIisE5E3RGSfiFwfiAoZY4wZnRFHGYmIB7gPeCdQA2wVkVJV3TOg2K1Ak6oWicha4F7gRqAT+DIwz/kZ6F+BOlWdISIRQOoF18YYY8yo+dNCWApUqupBVe0G1gOrB5VZDTzkbD8OrBQRUdV2Vd2ELzEM9jHgvwFUtV9VG0ZVA2OMMQHhT0LIBY4MeFzj7BuyjKr2As1A2nAnFJFkZ/NrIrJdRH4tIpOHKXubiJSJSFl9fb0f4RpjjBkNfxKCDLFv8ELM/pQZyAvkAS+p6iLgFeCbQxVU1XWqWqKqJRkZI95oZ4wxZpT8uVO5Bsgf8DgPODpMmRoR8QJJQOM5znkSOA38xnn8a3z9EMYEpV9tPnzO529eVjBOkRgzev60ELYCxSIyVUSigLVA6aAypcAtzvYaYKOqDttCcJ77HbDC2bUS2DNceWOMMWNvxBaCqvaKyB3AM4AHeEBVy0XkbqBMVUuB+4GHRaQSX8tg7ZnjReQQkAhEich1wJXOCKUvOsd8F6gHPhrYqhljjDkffk1up6obgA2D9n1lwHYncMMwxxYOs78aeIu/gRpjjBlbdqeyMcYYwBKCMcYYhyUEY4wxgCUEY4wxDksIxhhjAEsIxhhjHJYQjDHGAJYQjDHGOCwhGGOMASwhGGOMcVhCMMYYA1hCMMYY47CEYIwxBrCEYIwxxmEJwRhjDGAJwRhjjMMSgjHGGMDPhCAiq0SkQkQqReTOIZ6PFpFHnec3i0ihsz9NRJ4TkTYR+eEw5y4Vkd0XUgljjDEXbsSEICIe4D7gamAOcJOIzBlU7FagSVWLgO8A9zr7O4EvA/88zLnfB7SNLnRjjDGB5M+aykuBSlU9CCAi64HVwJ4BZVYDX3W2Hwd+KCKiqu3AJhEpGnxSEYkHPg/cBjw26hoYEwZ+tfnwOZ+/eVnBOEViQpk/l4xygSMDHtc4+4Yso6q9QDOQNsJ5vwZ8Czh9rkIicpuIlIlIWX19vR/hGmOMGQ1/EoIMsU9HUeZvhUUWAEWq+puRXlxV16lqiaqWZGRkjFTcGGPMKPmTEGqA/AGP84Cjw5URES+QBDSe45yXAotF5BCwCZghIs/7F7Ixxpix4E9C2AoUi8hUEYkC1gKlg8qUArc422uAjao6bAtBVX+sqjmqWghcDryhqivON3hjjDGBM2Knsqr2isgdwDOAB3hAVctF5G6gTFVLgfuBh0WkEl/LYO2Z451WQCIQJSLXAVeq6p7Br2OMMcZd/owyQlU3ABsG7fvKgO1O4IZhji0c4dyHgHn+xGGMMWbs+JUQjDGjd+p0N//y+OskxHhJj48mMcaLyN+Pw7Bho2YisIRgzBjZXdvMC/vrqWnq+Lv9OUkxXDk3i+LM+LMSgzFusoRgTICpKs9V1PHnvXVkJkRz1ZzJFE1OoKO7jxMtnbx8oIEHXz5EUWY87y/JJz7afg3NxGCfRGMCqF+VJ7fXsP3wKRbmJ/PeRbl4I/42mK8oM55lU1PZXNXIs3uO86PnKvnQpVNcjNiYv7HZTo0JoJcrG9h++BRvn5XJmsV5f5cMzvB6IlhelM5tV0ynX5WfvHCQlyobXIjWmL9nCcGYADnW3MEze04wOzuRlbMyR+wfyE2J5dMrikiNi+LjD5Wxrfpc93IaM/YsIRgTAD19/Ty69QhxkR7etzDX787ixNhIPrq8kKykGD7ys62UH20e40iNGZ4lBGMC4K9v1FPX2sX1i/OYdJ6dxAkxkfzi48tIiPZyywNbOdbcMfJBxowBSwjGXKCm9m5eqmxgXk4iMyYnjOocucmxPPixpXR09/LJh7fR2dMX4CiNGZklBGMu0P+9eJDu3n7ePnvyBZ1nxuQEvnPjAl6raeZLT+7iHNOBGTMmLCEYcwFOtnXx4MuHmJ+XRFZizAWf78q5WXz+nTN4ckctv9py7kVxjAk0SwjGXIB1Lxyks6ePt8/KDNg573hbEVcUp/O13+9h/4nWgJ3XmJFYQjBmlNq6evnFq9W8+6IcMhMuvHVwRkSE8K33X8ykKC+feWSH9SeYcWN3Khvjh6HWNN5S1Uh7dx85SYFLBmdkJsTwzRsu5qMPbuUbT1dQlBkf8NcwZjBrIRgzSlsOnSQrMYb81LgxOf/bZmXywUsK+NnLVRxuPOfS48YEhCUEY0ahpuk0R091snRq6pjOWPrFVbPISozhye019Pb1j9nrGAOWEIwZlS1VjUR6hAX5yWP6Ogkxkdzz3nnUtXbx/Bv1Y/paxviVEERklYhUiEiliNw5xPPRIvKo8/xmESl09qeJyHMi0iYiPxxQPk5E/iAi+0SkXES+HqgKGTPWOnv6eK3mFBfnJRMT6Rnz13v7rMlclJfEXyvqaWjrGvPXM+FrxIQgIh7gPuBqYA5wk4jMGVTsVqBJVYuA7wD3Ovs7gS8D/zzEqb+pqrOAhcByEbl6dFUwZnyVH22mp09ZUpg6bq95zfxsPB7hj7uPj9trmvDjTwthKVCpqgdVtRtYD6weVGY18JCz/TiwUkREVdtVdRO+xPAmVT2tqs85293AdiDvAuphzLh5vaaZ1ElR5KXEjttrJsZEsmJGBnuPtVBZ1zZur2vCiz8JIRc4MuBxjbNvyDKq2gs0A2n+BCAiycB7gL/4U94YN7V39XKgvo35uUnjvvzl8qJ0UuIi+cOuo/T127QWJvD8uQ9hqE/94E+jP2XOPrGIF3gE+L6qHhymzG3AbQAFBbYQuXFX+dEW+hXm5yYF9LxD3ecwWKQnglXzsnlky2G2VzexZOr4XbIy4cGfFkINkD/gcR5wdLgyzpd8EuDPah/rgP2q+t3hCqjqOlUtUdWSjIwMP05pzNh5vfYU6fFRZI/BzWj+mJeTSH5KLM9V1NkwVBNw/iSErUCxiEwVkShgLVA6qEwpcIuzvQbYqCNM1Sgi/4kvcXzu/EI2xh2tnT1U1bczPzd53C8XnSEivGP2ZE519FBW3eRKDCZ0jZgQnD6BO4BngL3AY6paLiJ3i8i1TrH7gTQRqQQ+D7w5NFVEDgHfBj4iIjUiMkdE8oB/xTdqabuI7BSRjweyYsYE2u6jLShwUV5gLxedr6LMeKakxvF8RR091kowAeTXXEaqugHYMGjfVwZsdwI3DHNs4TCndedPLGNGqfxoMxkJ0UwOwDTXF0JEeMecydy/qYqthxq5bHq6q/GY0GF3Khvjh86ePg41tDM7K9HtUACYlj6JqemTeOGNenr7rZVgAsMSgjF+eONEK/0Ks7NHt0RmoIkIb52RQUtnL6/XNLsdjgkRlhCM8cO+463ERXnGbGbT0SjOjGdyYjSb9jfYcpsmICwhGDOCvn6l4ngrMycnEOHS6KKhiAiXF2VwvKWTF/c3uB2OCQGWEIwZwfbDTXT09DEre2L0Hwx0cV4SCTFe/u/FIe/rNOa8WEIwZgR/2VtHhPgu0Uw0Xk8El01P58X9Dew91uJ2OCbIWUIwZgR/2XuCqemTxmWq69FYUphCtDeCh1+tdjsUE+QsIRhzDjVNp9lf18bMCTLcdChxUV5WL8jhqR21tHT2uB2OCWKWEIw5h01OZ+2MCXi5aKAPXVLI6e4+nthW43YoJohZQjDmHF7c30BWYgwZCdFuh3JO8/OSWJCfzMOvVtsQVDNqlhCMGUZfv7KpsoEritNdm8zufHzokikcrG/n5QMn3Q7FBClLCMYMY1dtM80dPVwxIzimXX/XRdmkxEXyC+tcNqNkCcGYYWzaXw/A8ul+Lf7nuphID9cvyuPPe0/Q0NbldjgmCFlCMGYYL+xvYF5uImnxE7v/YKAbl+TT06c8ud06l835s4RgzBDaunrZXt3EFcXBcbnojOLJCSyeksL6rUesc9mcN0sIxgxh88GT9PYrVxQH31oDNy7J52B9u62oZs6bJQRjhrCpsoFobwSLp6S4Hcp5e/dF2cRHe1m/5YjboZgg41dCEJFVIlIhIpUicucQz0eLyKPO85tFpNDZnyYiz4lIm4j8cNAxi0Vkl3PM9yUYxvWZsPHKgZOUFKYQ7Z2Y01WcS1yUl2sX5PCHXUftzmVzXkZMCCLiAe4Drsa3BvJNIjJnULFbgSZVLQK+A9zr7O8Evgz88xCn/jFwG1Ds/KwaTQWMCbTG9m72HW/l0mnBMbpoKGuX5NPZ00/pzqNuh2KCiD8thKVApaoeVNVuYD2welCZ1cBDzvbjwEoREVVtV9VN+BLDm0QkG0hU1VfU1/P1c+C6C6mIMYGypcp3Y9elQTLcdCjzc5OYnZ3I+q2H3Q7FBBGvH2VygYEXI2uAZcOVUdVeEWkG0oDhVu3Idc4z8Jy5/gRszFj41ea/fXGWvnaUSI9QfrSFiuNtLkY1eiLC2iX5/HtpObtrm5mXm+R2SCYI+NNCGOra/uDxbP6UGVV5EblNRMpEpKy+vv4cpzQmMA7Wt1GYNglvRHCPubhuQS5R3gge3Wqdy8Y//nzia4D8AY/zgMEXJt8sIyJeIAloHOGceSOcEwBVXaeqJapakpERXGPCTfBp6+qlrrWLaemT3A7lgiXFRXLNvCye2llLR3ef2+GYIOBPQtgKFIvIVBGJAtYCpYPKlAK3ONtrgI16jrtiVPUY0Coilzijiz4M/Pa8ozcmwA7W+y4RTcuY2NNd+2vt0gJaO3v54+5jbodigsCICUFVe4E7gGeAvcBjqlouIneLyLVOsfuBNBGpBD4PvDk0VUQOAd8GPiIiNQNGKH0K+ClQCRwA/hiYKhkzegcb2on2RpCTHOt2KAGxbGoqhWlxrLfLRsYP/nQqo6obgA2D9n1lwHYncMMwxxYOs78MmOdvoMaMh6r6dqakxeGJCI3bYkSEG5cUcO/T+zhQ38b0EGn5mLER3L1mxgRQW1cv9W1dTE0PrS/N6xfn4okQHrNWghmBJQRjHIca2gGYmhbnciSBlZkQw8pZmTyxvYbu3n63wzETmCUEYxyHTrYT6RFyUkKj/2CgtUvzaWjrZuO+E26HYiYwSwjGOA41tJOfGhf09x8M5S3FGWQlxljnsjmn0PvkGzMKnT19HGvupDAt+O8/GIrXE8H7S/L46xv1HD3V4XY4ZoLya5SRMaGu+mQ7CkwN0hvSBk69MZSblxVwQ0k+P3iuksfKjvC5d8wYp8hMMLEWgjHAoZOniRDITwmtDuWB8lPjuLwonV+X1dDXb6upmbNZQjAGqGpoJy8ljihvaP9K3Lgkn9pTHWyqHG7eSRPOQvvTb4wfOrr7qG3qoDDEhpsO5Z1zJpMSF8mjNi22GYIlBBP2dh45RZ9qyHYoDxTt9fC+RXn8ac8JGtq63A7HTDCWEEzYKzvkm5i3IAxaCAA3LS2gp09tWmxzFksIJuyVVTeRmRBNXFR4DLoryozn8qJ0fvFqNb19duey+Zvw+A0wZhh9/cr2w03Mykp0O5QxNXhYamHaJDZVNvCV35YzLzeJm5cVuBSZmUishWDC2hsnWmnt7GVKmFwuOmNWdgLJcZG8cvCk26GYCcQSgglrZdVNAGHRoTxQhAiXTE2jqqGd4y2dbodjJghLCCasbTvUSEZCNClxkW6HMu5KpqTgjRBeOWCtBONjCcGEtbLqJkqmpOBbyTW8xEV7WViQzI7DTZy0IagGPxOCiKwSkQoRqRSRO4d4PlpEHnWe3ywihQOeu8vZXyEiVw3Y/08iUi4iu0XkERGJCUSFjPHX8eZOapo6KClMdTsU1ywvSqe3X3n41Wq3QzETwIgJQUQ8wH3A1cAc4KYB6yKfcSvQpKpFwHeAe51j5wBrgbnAKuBHIuIRkVzgH4ESVZ0HeJxyxoybsmrf/QclU1JcjsQ9mQkxzJycwMOvVNPZ0+d2OMZl/rQQlgKVqnpQVbuB9cDqQWVWAw85248DK8XXBl8NrFfVLlWtAiqd84FvyGusiHiBOODohVXFmPNTdqiJ2EgPc3JCe8jpSC4vTudkeze/2VHrdijGZf7ch5ALDLylsQZYNlwZVe0VkWYgzdn/6qBjc1X1FRH5JnAY6ACeVdVnR1cFY0Y21PTQz+45TlZSDL8uq3EhooljWvok5uYk8tMXD3JjST4REeHXn2J8/GkhDPXpGDx37nBlhtwvIin4Wg9TgRxgkoh8cMgXF7lNRMpEpKy+vt6PcI0ZWVdvH8ebO8NiQruRiAi3vWUaB+rbeab8uNvhGBf5kxBqgPwBj/M4+/LOm2WcS0BJQOM5jn0HUKWq9araAzwJXDbUi6vqOlUtUdWSjIwMP8I1ZmRHGjvoV5gSZvcfDOfdF+UwNX0SP9hYiaqtlRCu/EkIW4FiEZkqIlH4On9LB5UpBW5xttcAG9X3qSoF1jqjkKYCxcAWfJeKLhGROKevYSWw98KrY4x/qhvbEaAg1VoIAJ4I4dMrprPnWAvPVdS5HY5xyYgJQVV7gTuAZ/B9aT+mquUicreIXOsUux9IE5FK4PPAnc6x5cBjwB7gaeB2Ve1T1c34Op+3A7ucONYFtGbGnEP1ydNMTowhJtLjdigTxnULc8lNjuX7f7FWQrjya3I7Vd0AbBi07ysDtjuBG4Y59h7gniH2/zvw7+cTrDGB0K/KkcbTLMhPdjuUCSXSE8GnVkzn357azUuVJ7m8ON3tkMw4szuVTdg53txJV29/2E1o548bSvKYnBjN9zfudzsU4wJLCCbsVJ9sB2BKqnUoDxbt9fAPb5nOlqpGNttMqGHHEoIJO9WNp0mM8ZIchhPa+eOmpQWkx0fxw+cq3Q7FjDNLCCbsVJ88zZS0SWE5oZ0/YqM8fPyKaby4v4GdR065HY4ZR5YQTFg5dbqb5o4e6z8YwQcvmUJyXCTf/4v1JYQTSwgmrFSfPA3YDWkjiY/28okrprFxXx3bnEkATeizhGDCSnVjO1GeCLISbbb1kXzkskLS46P4xtMVdl9CmLCEYMJK9cnT5KfG4rEJ3EY0KdrLHW8rYnNVIy/ub3A7HDMOLCGYsNHZ45vQzi4X+e+mZQXkJsfyP89YKyEcWEIwYeNI42kUrEP5PER7PXzuHcXsqm3m6d02E2qos4RgwkZ142nfhHYplhDOx/sW5VGUGc83n62gr99aCaHMEoIJG9Un28lKiiHaJrQ7L54I4QvvnMGB+nae3B7eiwmFOr8mtzMm2PX1K0caO1gUxusnX4hV87LITY7lng176ejuw+s5+2/Jm5cVuBCZCSRrIZiwcLy5k+4+m9ButESEK+dM5tTpHrYcsvsSQpW1EExYOPTmhHaWEIYy1JrTgxVlxjM9YxJ/2VvHwvwUYqPs0luosRaCCQuHTraTEhdJclyU26EELRHhmvnZdPb0sXHfCbfDMWPAEoIJearKoYZ2Cu3+gwuWnRTL4ikpvHqwkYa2LrfDMQHmV0IQkVUiUiEilSJy5xDPR4vIo87zm0WkcMBzdzn7K0TkqgH7k0XkcRHZJyJ7ReTSQFTImMEONrTT3t1HYbolhEB455zJeDzCH+2+hJAzYkIQEQ9wH3A1MAe4SUTmDCp2K9CkqkXAd4B7nWPnAGuBucAq4EfO+QC+BzytqrOAi/Gt12xMwG2p8nWCTrUWQkAkxESyYkYGe4+1cKC+ze1wTAD500JYClSq6kFV7QbWA6sHlVkNPORsPw6sFN9k86uB9arapapVQCWwVEQSgbcA9wOoareq2sTrZkxsqWpkUrSXtHjrPwiU5UXpJMdFsmHXMfptSouQ4U9CyAWODHhc4+wbsoyq9gLNQNo5jp0G1AM/E5EdIvJTEbE/38yY2FLVyNS0OFsQJ4AiPRGsmpvFseZOtlc3uR2OCRB/EsJQv0WD/yQYrsxw+73AIuDHqroQaAfO6psAEJHbRKRMRMrq6+v9CNeYv6lpOk3tqQ7rPxgD83OTKEiN49k9J+jq6XM7HBMA/iSEGiB/wOM84OhwZUTECyQBjec4tgaoUdXNzv7H8SWIs6jqOlUtUdWSjIwMP8I15m+2OjdR2QijwBMR3jU/m7auXjbuq3M7HBMA/iSErUCxiEwVkSh8ncSlg8qUArc422uAjeqbK7cUWOuMQpoKFANbVPU4cEREZjrHrAT2XGBdjDnLlqomEmK8ZCXZgjhjIT81jpIpKbx0oIF9x1vcDsdcoBETgtMncAfwDL6RQI+parmI3C0i1zrF7gfSRKQS+DzO5R9VLQcew/dl/zRwu6qeaVt+BviliLwOLAD+K3DVMsZnS9VJlhSmEmH9B2Nm1dwsYiI9/NtvdtNvs6EGNQmmRS9KSkq0rKzM7TBMkGho66LkP//MF1fNIik20u1wQlrZoUae3FHLN66/iPcvyR/5ADOuRGSbqpaMVM7uVDYhq8zpP1g6NdXlSELfoikplExJ4Z4Ne6lr7XQ7HDNKNrmdCVmbqxqJiYxgfm4SFcdb3Q4npEWIcHlxOjuPnOKjP9vKB5ZNOauMTY898VkLwYSsrYcaWZifQpTXPubjITMhhpWzMik/2sKu2ma3wzGjYL8pJiS1dPaw52iLXS4aZ5cXZ5CTHEPpa0dp6+p1OxxzniwhmJC0rbqJfoVllhDGlSdCuH5RHp09fTy1o5ZgGrRiLCGYELW1qhFvhLCwwJbMHG/ZSbFcOWcye461UGbTWgQVSwgmJG2pamR+XpKt6uWS5UXpTM+YxO9fP0pDq62bECwsIZiQ09nTx2s1p6z/wEURIqxZnI83IoJHth6mp6/f7ZCMHywhmJCz/XATPX1q/QcuS4qN5IaSPI41d/K71wZPf2YmIksIJuS8XHkST4SwpNASgttmZSWyYkYGZdVNPFZ2ZOQDjKssIZiQ89KBBi7OSyIhxqarmAjeMWcy0zIm8W9P7WbHYetknsgsIZiQ0trZw+s1zVw2Pd3tUIwjQoSblhQwOTGaT/x8G0dPdbgdkhmGJQQTUjYfbKSvX7msKM3tUMwAk6K9PHDLErp6+rj1oTLa7aa1CckSggkpLx1oINobwSK7/2DCKZ6cwA9uXkjF8RY++YttdPfayKOJxhKCCSkvV/rWP4iJtPsPJqIVMzP5+vUX8eL+Bj7/2E76bP2ECcVmOzUho761i4oTraxemON2KOYc3l+ST1N7N//9x30kxERyz3XziIiwBYwmAksIJmS8fKABgOXWoTzh/cNbp9Pc0cOPnj8AKPdcN9+SwgTg1yUjEVklIhUiUikidw7xfLSIPOo8v1lECgc8d5ezv0JErhp0nEdEdojI7y+0Isa8VNlAYoyXeblJbodi/PD/rprJZ95exCNbjvDFJ163y0cTwIgtBBHxAPcB7wRqgK0iUqqqewYUuxVoUtUiEVkL3AvcKCJzgLXAXCAH+LOIzBiwrvJn8a3TnBiwGpmwpKr89Y16Li9Ox2N/aQYFEeELV87EEyF898/7aTrdzfdvWkhclF24cIs/LYSlQKWqHlTVbmA9sHpQmdXAQ87248BKERFn/3pV7VLVKqDSOR8ikge8C/jphVfDhLt9x1s50dLFihmZbodiztPn3jGDu1fPZeO+Om5a9yr1Nhmea/xJCLnAwHvOa5x9Q5ZR1V6gGUgb4djvAv8C2Ngzc8Ger6gH4K0zM1yOxIzGhy8t5CcfKqHiRCvv+cEmttsdza7wJyEM1f4efLFvuDJD7heRdwN1qrptxBcXuU1EykSkrL6+fuRoTVh6vqKOWVkJTE6McTsUM0rvnDOZJz51GVHeCG78ySv87KUqW2BnnPlzsa4GyB/wOA8YPHXhmTI1IuIFkoDGcxx7LXCtiFwDxACJIvILVf3g4BdX1XXAOoCSkhL7dJiztHb2sPVQI5cXZfCrzYfdDscMY6T35uZlBczNSeJ3d1zO5x/byX/8bg8b99XxjTUXkZ0UO05Rhjd/WghbgWIRmSoiUfg6iUsHlSkFbnG21wAb1ZfaS4G1ziikqUAxsEVV71LVPFUtdM63cahkYIw/Xqo8Sb/CjKx4t0MxAZAUF8lPbynha9fNo+xQE1d+5wUefuUQvbamwpgbsYWgqr0icgfwDOABHlDVchG5GyhT1VLgfuBhEanE1zJY6xxbLiKPAXuAXuD2ASOMjAmIv75RR7Q3gimpk9wOxQSIiPChS6ZwRVE6dz25iy//tpwfPlfJuy/KYXrG0In/5mUF4xxl6JFgukZXUlKiZWVlbodhJhBVZfnXN5IyKYoPLJvidjjmAgz3ha6qPFN+nLue3EXT6R7m5iRy9bxsUidF+XW8ARHZpqolI5WzAb8mqJUfbeFocyeXTLPZTUOViLBqXjYnWrp4qbKB5yrq2He8lUunpbFiZobdtxBA9j9pgtqze04QITAr2+5tDHWRnghWzMxkYUEKf9pzgpcqGyirbmTFjEwunW5/EASCJQQT1J4tP05JYSrx0fZRDhdJsZGsWZzH5UXpPFN+nKfLj/PKwZNMivbyvoW5NifSBbA+BBO0qk+289b/eZ5/e9dsu2wQxg7Wt/F0+XFqmjooSI3j2otzyEk+e5hqOPcx+NuHYOshmKD1bPkJAK6am+VyJMZN0zLi+eRbp3P9ojxOtnVx33OVPL37uA1THQX7s8oErWf3HGd2diL5qXFuh2JcFiHC4ikpzMlO5I+7j/HC/noqTrRww+L8IVsLZmiWEEyoXIsiAAAShUlEQVRQqm/toqy6ic+uLHY7FDOBxEZ5eN+iPObmJPLkjlr+968HuPbiHEoKU0c81p87qUOdXTIyQelPe06gClfOsctF5mwzsxL5zNuLKUybxJM7anlye42t4ewHSwgmKD21s5bpGZOYnZ3gdihmgoqP9vKR5YWsmJFBWXUTH31wC62dPW6HNaFZQjBBp/ZUB1uqGrluQS6+ZTeMGVqECFfOzWLNojw2H2zk/T95lbqWTrfDmrAsIZig89udtQCsXjB4WQ5jhrZoSgoPfGQJh0+2s3bdq5ywpDAkSwgm6Px2x1EWT0mhIM1GFxn/vWVGBg99bCknWjq5aZ21FIZiCcEElb3HWqg40cp1C611YM5fSWEqD35sKcdbOrn5p5s5dbrb7ZAmFEsIJqg8taMWb4TwrvnZbodigtSSwlTn8tFpPv5QGZ09NiP/GXYfggkaPX39/GZHLStmZpw19bExIxl8n8H1i/NYv+Uw7/vRy9y8rIAIG6BgLQQTPP605wR1rV1hcYOQGXvzc5O4Zn42e461vDkNSrizFoIJGr94tZrc5FjeOiPT7VBMiFhelE59Wxcv7K8nOzmGi/OS3Q7JVX61EERklYhUiEiliNw5xPPRIvKo8/xmESkc8Nxdzv4KEbnK2ZcvIs+JyF4RKReRzwaqQiY0Vda18fKBk9y8rACPTW9sAujdF2UzJS2OJ7fXcPRUh9vhuGrEhCAiHuA+4GpgDnCTiMwZVOxWoElVi4DvAPc6x87Bt77yXGAV8CPnfL3AF1R1NnAJcPsQ5zTmTb/cXE2kR7hxSb7boZgQ442I4OalBcRFefnVlsNh3cnsTwthKVCpqgdVtRtYD6weVGY18JCz/TiwUny3kK4G1qtql6pWAZXAUlU9pqrbAVS1FdgL2DhCM6TT3b08vq2Gq+dlkx4f7XY4JgQlxESydkk+p05389TOWoJpnZhA8ich5AJHBjyu4ewv7zfLqGov0Ayk+XOsc3lpIbDZ/7BNOHl06xFaO3v58KVT3A7FhLApaZNYOXsyr9c0s/1wk9vhuMKfhDDUBdvB6XO4Muc8VkTigSeAz6lqy5AvLnKbiJSJSFl9fb0f4ZpQ0tXbx0/+epClU1P9msLYmAvx1hkZTEufROlrR6lrDb87mf1JCDXAwAu3ecDR4cqIiBdIAhrPdayIROJLBr9U1SeHe3FVXaeqJapakpGR4Ue4JpQ8sa2W4y2dfObtRW6HYsJAhAjvL8kn0hPB+i1H6AmzVdf8SQhbgWIRmSoiUfg6iUsHlSkFbnG21wAb1XcRrhRY64xCmgoUA1uc/oX7gb2q+u1AVMSEnp6+fn70fCUX5ydzeVG62+GYMJEYG8maxXkcb+nkj7uPux3OuBrxPgRV7RWRO4BnAA/wgKqWi8jdQJmqluL7cn9YRCrxtQzWOseWi8hjwB58I4tuV9U+Ebkc+BCwS0R2Oi/1JVXdEOgKmuD1251HqWnq4KvvmcsjW46MfIAxATIrK5Hl09N46cBJijLimZOT6HZI48KvG9OcL+oNg/Z9ZcB2J3DDMMfeA9wzaN8mhu5fMAaAju4+vv1sBXNzElk5O9MSghl3V83NoqqhnSd31JCXGh5LtdrUFWZC+skLBzja3MlX3j3HFsExrvB6Inh/ST7dvf08sa2G/v7QH4pqCcFMOLWnOvjfvx7gXRdls2xamtvhmDCWmRjDNfOz2V/XxoMvH3I7nDFnCcFMOP+9YS+q8KVrZrsdijEsm5rKzMkJfP3pfew7PuTo+JBhCcFMKM+UH+f3rx/jUyumk5sc63Y4xiAiXL84j8QYL59bvzOkp7awhGAmjLqWTu584nXm5Sby6RV234GZOOKjvfzPmovZd7yVbzxd4XY4Y8YSgpkQVJV/eeJ1Tnf38d0bFxDltY+mmVjeNiuTD186hQdequK5ijq3wxkT9ltnJoSfvHCQ5yvq+dI1synKTHA7HGOG9KVrZjMrK4F/enQntSE4VbYlBOO6DbuO8fU/7uNd87NtAjszocVEevjxBxfT26fc/svtdPeG1tQWtmLaOBi8lutg4bwk5I7DTfzToztZVJDMt95/sd1zYCa8qemT+Maai/j0L7dzzx/28B+r57kdUsBYC8G4ZsfhJm55YAuTE2P4vw+XEBPpcTskY/xyzfxsPnHFVB56pZqfv3LI7XACxloIxhUvH2jg4w+VkZEQzS9uXUaaLXxjgsydV8+mqqGdr5aWU5Aax4qZwb/Wt7UQzLhSVR7depiP/GwreSmx/PofLiU/Nc7tsIw5b54I4XtrFzIzK5E7frWDHSGwqI4lBDNuTnf38oVfv8YXn9jF0sJUHr3tUjITY9wOy5hRmxTt5YGPlJA6KYoPP7CF12tOuR3SBbFLRmZcfOW3u/nda0c5dbqHlbMyeduszLCba96EpuykWB657RLWrnuFD/50Mw9+bCmLClLcDmtUrIVgxtTeYy184udl/PyVaryeCG69YiorZ08mwkYTmRCSmxzLI5+4hOS4KNaue5Xf7KhxO6RRsRaCCThV5dWDjfzspSqe3XOChGgvV82ZzPLidLwR9jeICU15KXE8dftyPv3LbfzTo6+xu7aF/3fVzKAaPWcJIQD6+pWqhjb2HGulsq6NmqbT1DZ10NrZy+nuXlo6e4n0CFGeCJJiI0mOiyIjPpqclFgmJ4bO6JrKulaeKT/BE9tqONjQ7psM7B3FfPSyqfxh1zG3wzNmzKVOiuLhW5fxtd/v4f5NVfx57wn+673zWR4kS8D6lRBEZBXwPXxLaP5UVb8+6Plo4OfAYuAkcKOqHnKeuwu4FegD/lFVn/HnnBPZybYudhw+xfbDTWw/3MTrNc2c7vbNgCgC2Ykx5CTHkpMcQ1yUl+qT7fT0Kd29/Zxo6aLiRCs9fb7FNjwiPFZ2hHk5SSzIT2ZhQQrFmfFEREz8SyonWjopO9TEqwdP8lJlAwcb2gFYUpjC7W8r4pr52cRGBc9fR8YEQqQngrtXz2PV3Czu+s0uPvDTzVxRnM6n3jqdS6enTeibL0X13KsAiYgHeAN4J1ADbAVuUtU9A8p8GrhIVT8pImuB96rqjSIyB3gEWArkAH8GZjiHnfOcQykpKdGysrLzr+UFaGzvZndtM7tqmyk/6vv3SKNvDhNvhDAnJ5FFBSnMz01idnYi0zMnEe39+y/BwXcqqyqN7d0cbe6ktqmDflV21TbT3NEDQEK0l4vzk1mQn8zMrARmTE5gavokVyZ86+9XjrV0cv+LVTS0dXGyrYv6ti6OneqktasXgChPBJdOT2Pl7EyunJNFVtLZI4dGulvbmIluNDMKdPb08bOXDnH/Jt/vT1FmPFfPy+LKOVnMzk7A6xmf32kR2aaqJSOV86eFsBSoVNWDzonXA6uBgV/eq4GvOtuPAz8UXxpcDaxX1S6gSkQqnfPhxzkDprevn54+pbe/n94+pcf5t62rl9bOHlo6emnp7KGpvZvaUx3UNHVwpOk0Rxo73vySBihIjeOi3GQ+sGzKm0lgNH8Biwhp8dGkxUczPzeJm5cVoKpUNbSz4/ApdhxpYsfhU/z4rwfoc5bt80QIhWlxTMuIJzMhmvT4aDKcf5PjIomJ9BDtjSAm0kNMZASC0KdKf7/Sr0rfm/9CV28fbZ29tHX97afVeXzqdDd1LV3UtXZR19pJQ1v3mzEARHqE9PhoijLjyU2JJS8ljtzkWD5kcxAZc5aYSA+fWjGdjy4v5Kkdtfx251Hue66SH2ysJDbSw/y8JIoz4ylIjSMrKYbE2EgSYyJJjPGSGBtJjNeD1yN4nUvOY9268Cch5AIDVzivAZYNV0ZVe0WkGUhz9r866NhcZ3ukcwbMVd99gQP17X6VjfZGkOd80S3IT2ZK6iTm5iQyNyeJpLjIsQoREWFaRjzTMuK5fnEe4Pvr4mB9O/vrWtl/oo03TrRSffI026qbaGzvDngMkR4hKTaSjIQYMhOimZWVQGZiNDnJsRysbyc9PprEGO+EbvIaMxHFRHpYu7SAtUsLaGjrYtP+BnYeOcVrNafYsOsYTad7RjzHvq+tGvMOan8SwlC//YOvMw1XZrj9Q7WThrx2JSK3Abc5D9tEZMxXp3gj8KdMBxqGe/IDgX+9cTdEHc5Z5xAVbnUOq/o6n3HX6hx77wUd7lcT3p+EUAPkD3icBxwdpkyNiHiBJKBxhGNHOicAqroOWOdHnBOWiJT5c/0ulFidQ1+41RdCv87+9GhsBYpFZKqIRAFrgdJBZUqBW5ztNcBG9fVWlwJrRSRaRKYCxcAWP89pjDFmHI3YQnD6BO4AnsE3RPQBVS0XkbuBMlUtBe4HHnY6jRvxfcHjlHsMX2dxL3C7qvYBDHXOwFfPGGOMv0YcdmounIjc5lz6ChtW59AXbvWF0K+zJQRjjDGATW5njDHGYQlhjInIKhGpEJFKEbnT7XjGgogcEpFdIrJTRMqcfaki8icR2e/8G5zzATtE5AERqROR3QP2DVlH8fm+856/LiKL3It89Iap81dFpNZ5r3eKyDUDnrvLqXOFiFzlTtQXRkTyReQ5EdkrIuUi8llnf0i/12dYQhhDzrQf9wFXA3OAm5zpPELR21R1wYAheXcCf1HVYuAvzuNg9iCwatC+4ep4Nb4RdcX47qH58TjFGGgPcnadAb7jvNcLVHUDgPO5XgvMdY75kfP5Dza9wBdUdTZwCXC7U7dQf68BSwhj7c1pP1S1GzgzRUc4WA085Gw/BFznYiwXTFVfwDeCbqDh6rga+Ln6vAoki0j2+EQaOMPUeThvTlOjqlXAwGlqgoaqHlPV7c52K7AX3+wKIf1en2EJYWwNNe1H7jBlg5kCz4rINufOcoDJqnoMfL9kQPCvQH624eoY6u/7Hc7lkQcGXAoMuTqLSCGwENhMmLzXlhDGlj/TfoSC5aq6CF/z+XYReYvbAbkslN/3HwPTgQXAMeBbzv6QqrOIxANPAJ9T1ZZzFR1iX9DW2xLC2PJn2o+gp6pHnX/rgN/gu1Rw4kzT2fm3zr0Ix8xwdQzZ911VT6hqn6r2A//H3y4LhUydRSQSXzL4pao+6ewOi/faEsLYCvkpOkRkkogknNkGrgR28/fTmdwC/NadCMfUcHUsBT7sjEC5BGg+c7kh2A26Pv5efO81DD9NTVAR31S+9wN7VfXbA54Kj/daVe1nDH+Aa/BNoHoA+Fe34xmD+k0DXnN+ys/UEd/0538B9jv/prod6wXW8xF8l0h68P1VeOtwdcR3GeE+5z3fBZS4HX8A6/ywU6fX8X0ZZg8o/69OnSuAq92Of5R1vhzfJZ/XgZ3OzzWh/l6f+bE7lY0xxgB2ycgYY4zDEoIxxhjAEoIxxhiHJQRjjDGAJQRjjDEOSwjGDCAiD4rIf7odhzFusIRgwo6IrBWRzSLS7kzvvFlEPu3clGRM2LKEYMKKiHwB+B7wP0AWMBn4JLAciHIxNGNcZwnBhA0RSQLuBj6tqo+raqv67FDVD6hq16DyHxGRTYP2qYgUOduxIvItEakWkWYR2SQisc5z1zoLrJwSkedFZPaAc3zRWWSm1VlMZqWzP0JE7hSRAyJyUkQeE5HUsf5/MeYMSwgmnFwKRBO4eZW+CSwGLgNSgX8B+kVkBr5pHz4HZAAbgN+JSJSIzATuAJaoagJwFXDIOd8/4ptn/61ADtCEb1oEY8aFJQQTTtKBBlXtPbNDRF52/orvOJ9pu0UkAvgY8FlVrVXfDKAvO62MG4E/qOqfVLUHX+KIxZc4+vAlpTkiEqmqh1T1gHPaf8A3F1SNc56vAmtExHvhVTdmZJYQTDg5CaQP/IJV1ctUNdl57nx+H9KBGHyTmg2WA1QPeI1+fIuo5KpqJb6Ww1eBOhFZLyI5TtEpwG+cBHUK32pdffj6OYwZc5YQTDh5BejC/2VM24G4Mw9EJGvAcw1AJ77FYgY7iu/L/cxxgm/O/FoAVf2Vql7ulFHgXqfoEXyzhCYP+IlR1Vo/4zXmglhCMGFDVU8B/4FvAfg1IhLvdOQuACYNcchrwFwRWSAiMfj+qj9zrn7gAeDbIpIjIh4RuVREooHHgHeJyEpnsZUv4EtEL4vITBF5u1OuE+jA1woA+F/gHhGZAiAiGSISLmtwmwnAEoIJK6r6DeDz+DqA64ATwE+ALwIvDyr7Br5RSX/GNw/+3404Av4Z3xz4W/EtRn8vEKGqFcAHgR/ga0m8B3iPqnbj6z/4urP/OL61eb/knO97+NYYeFZEWoFXgWUBqroxI7L1EIwxxgDWQjDGGOOwhGCMMQawhGCMMcZhCcEYYwxgCcEYY4zDEoIxxhjAEoIxxhiHJQRjjDGAJQRjjDGO/w/vGMjPC739ggAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xdf9b828>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xde89e10>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xdd52cc0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xdce8c88>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xdfb4588>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xdd44160>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xe164400>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xd6cb8d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 查看各个特征的分布\n",
    "import matplotlib.pyplot as plt   #画图\n",
    "tdata = train.values.T\n",
    "columns = train.columns\n",
    "size = len(columns)\n",
    "fig = plt.figure()\n",
    "for i in range(size):\n",
    "    sns.distplot(tdata[i], bins=30, kde=True)\n",
    "    plt.xlabel(columns[i], fontsize=12)\n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xb9cef28>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Outcome 分布，看看各类样本分布是否均衡\n",
    "sns.countplot(train.Outcome);\n",
    "pyplot.xlabel('Outcome');\n",
    "pyplot.ylabel('Number of occurrences');"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 数据预处理"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "y_train = train['Outcome']\n",
    "\n",
    "train = train.drop([\"Outcome\"], axis=1)\n",
    "X_train = np.array(train)\n",
    "\n",
    "# 数据标准化\n",
    "from sklearn.preprocessing import StandardScaler\n",
    "\n",
    "# 初始化特征的标准化器\n",
    "ss_X = StandardScaler()\n",
    "\n",
    "# 分别对训练和测试数据的特征进行标准化处理\n",
    "X_train = ss_X.fit_transform(X_train)\n",
    "#X_test = ss_X.transform(X_test)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 模型训练"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 数据分割"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "X_train (491L, 8L)\n",
      "X_val (123L, 8L)\n"
     ]
    }
   ],
   "source": [
    "from sklearn.model_selection import train_test_split\n",
    "X_train, X_val, y_train, y_val = train_test_split(X_train, y_train, train_size = 0.8,random_state = 0)\n",
    "\n",
    "print \"X_train\",X_train.shape\n",
    "print \"X_val\",X_val.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Logistic回归训练函数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.linear_model import LogisticRegression\n",
    "\n",
    "def fit_logistic_regression_c(C, penalty, X_train, y_train, X_val, y_val):\n",
    "    lr_penalty= LogisticRegression(C = C, penalty = penalty)\n",
    "    lr_penalty = lr_penalty.fit(X_train, y_train)\n",
    "    \n",
    "    # 在校验集上返回accuracy\n",
    "    accuracy = lr_penalty.score(X_val, y_val)\n",
    "    \n",
    "    print(\"accuracy: {}\".format(accuracy))\n",
    "    return accuracy\n",
    "\n",
    "def fit_logistic_regression(penalty, X_train, y_train, X_val, y_val):\n",
    "    #需要调优的参数\n",
    "    Cs = [0.001, 0.01, 0.1, 1, 10, 100, 1000]\n",
    "\n",
    "    accuracy_s = []\n",
    "    for i, oneC in enumerate(Cs):\n",
    "    #    for j, penalty in enumerate(penalty_s):\n",
    "        tmp = fit_logistic_regression_c(oneC, penalty, X_train, y_train, X_val, y_val)\n",
    "        accuracy_s.append(tmp)\n",
    "\n",
    "    x_axis = np.log10(Cs)\n",
    "\n",
    "    #for j, penalty in enumerate(penalty_s):\n",
    "    pyplot.plot(x_axis, np.array(accuracy_s), 'b-')\n",
    "\n",
    "    pyplot.legend()\n",
    "    pyplot.xlabel( 'log(C)' )                                                                                                      \n",
    "    pyplot.ylabel( 'accuracy' )\n",
    "    pyplot.savefig('Logistic.png' )\n",
    "\n",
    "    pyplot.show()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Logistic回归训练 L1正则"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "accuracy: 0.626016260163\n",
      "accuracy: 0.731707317073\n",
      "accuracy: 0.747967479675\n",
      "accuracy: 0.747967479675\n",
      "accuracy: 0.747967479675\n",
      "accuracy: 0.747967479675\n",
      "accuracy: 0.747967479675\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xda87b70>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fit_logistic_regression('l1', X_train, y_train, X_val, y_val)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "从而得出最大的评测得分是0.747967479675，最佳的正则参数是：[0.1, 1, 10, 100, 1000]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Logistic回归训练 L2正则"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "accuracy: 0.739837398374\n",
      "accuracy: 0.739837398374\n",
      "accuracy: 0.731707317073\n",
      "accuracy: 0.747967479675\n",
      "accuracy: 0.747967479675\n",
      "accuracy: 0.747967479675\n",
      "accuracy: 0.747967479675\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xbb74e10>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fit_logistic_regression('l2', X_train, y_train, X_val, y_val)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "从而得出最大的评测得分是0.747967479675，最佳的正则参数是：[1, 10, 100, 1000]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 线性SVN训练 L2正则"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "accuracy: 0.739837398374\n",
      "accuracy: 0.731707317073\n",
      "accuracy: 0.747967479675\n",
      "accuracy: 0.747967479675\n",
      "accuracy: 0.739837398374\n",
      "accuracy: 0.780487804878\n",
      "accuracy: 0.658536585366\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYsAAAEKCAYAAADjDHn2AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzt3XmYVOWZ9/HvTbMZFWVVARFUMGLGjRZFFOhjVJwxGmOioJOJzhuZTIIhe9wS98kkJiGv0UlUYia+UYmKC0YNGhpEjSiN4MImuNKCEREXRGTp+/3jORXKpukqij596lT/PtdVV3edek6d+7DUXc9u7o6IiEhz2qUdgIiIlD8lCxERKUjJQkREClKyEBGRgpQsRESkICULEREpSMlCREQKUrIQEZGClCxERKSg9mkH0FJ69Ojh/fv3TzsMEZFMmTt37tvu3rNQuYpJFv3796euri7tMEREMsXMXiumnJqhRESkICULEREpSMlCREQKqpg+CxGRtm7jxo3U19ezfv36rV7r3Lkzffv2pUOHDiW9t5KFiEiFqK+vZ9ddd6V///6Y2T+OuzurV6+mvr6eAQMGlPTeiTZDmdloM1tiZsvM7IImXp9oZvPjx4tm9m7eaz8zswVmtsjMrrX8OxcRka2sX7+e7t270/jj0szo3r17kzWOYiVWszCzKuB64HigHphjZlPdfWGujLt/O6/8+cBh8e9HA8OBg+OXHwdGAjOTildEpBJs63v1jn7fTrJmMRRY5u4vu/sGYDJwajPlxwK3x7870BnoCHQCOgB/TzBWEWlD6uvhD39IO4psSTJZ9AGW5z2vj49txcz2AQYAtQDu/iQwA1gZP6a5+6IEYxWRNuKjj+Dkk+Gcc2Dp0rSjyY4kk0VTdR7fRtkxwF3uvhnAzPYHDgT6EhJMZGYjtrqA2TgzqzOzulWrVrVQ2CJSycaPh2efDb/PmJFuLElwb/pjdlvHi5VksqgH9s573hdYsY2yY9jSBAVwGjDb3de6+1rgIeCoxie5+43uXu3u1T17FlzaRETauJtvDo+LL4bevaG2Nu2IWlbnzp1ZvXr1VokhNxqqc+fOJb93kkNn5wADzWwA8AYhIZzVuJCZHQB0BZ7MO/w6cJ6Z/YRQQxkJ/CrBWEWkws2fD9/4Bhx3HFx+Obz2Gjz8MLhDpYy17Nu3L/X19TTV0pKbZ1GqxJKFu28ys/HANKAKuNndF5jZFUCdu0+Ni44FJvsnU+FdQAQ8T2i6+ou7359UrCJS2d59F04/Hbp3h9tug6oqiCL44x9h4UI46KC0I2wZHTp0KHkeRSGJTspz9weBBxsd+3Gj55c1cd5m4D+SjE1E2gb30Jn9+uvw6KPQq1c4XlMTftbWVk6ySJLWhhKRinbNNXDffeHn0UdvOd6/PwwYUHn9FklRshCRijVzJlx4IXzpSzBhwtavR1Eos3lza0eWPUoWIlKRVq6EMWNg4ECYNKnpTuwoCv0ZuaG0sm1KFiJScTZuhDPPhA8+gClToEuXpsvl91tI85QsRKTiXHQRPPYY3Hhj853Xe+0Fn/60kkUxlCxEpKLccw/8/Ofwn/8JZ59duHwUhcSycWPysWWZkoWIVIylS8Mw2SOOgIkTizunpgbWroW6ukRDyzwlCxGpCOvWwRe/CO3bw513QqdOxZ03alT4qaao5ilZiEjmuYelPJ5/PszK3mef4s/t0QMOOaQyFxVsSUoWIpJ5v/sd/O//wiWXwEknbf/5NTXwxBOwAxvJVTwlCxHJtGeeCcuOH388XHppae8RRSFRzJ7dsrFVEiULEcmsNWtCP0XPnnDrrWGBwFKMGAHt2qkpqjlKFiKSSQ0N8JWvwPLlcMcdIWGUarfdYMgQdXI3R8lCRDLpZz+D+++HX/wChg3b8feLotAM9eGHO/5elUjJQkQyZ8aMsNvdmWfC+ee3zHtGEWzaBI8/3jLvV2mULEQkU954IywQOGjQthcILMXw4dChg/ottiXRzY9ERFpSboHADz8MH+q77NJy773zznDkkeq32BbVLEQkMy64IMyHuOkmGDy45d8/imDuXHjvvZZ/76xTshCRTJgyBX75yzBTe+zYZK4RRWGU1axZybx/lilZiEjZe/FFOPdcGDo0jH5KylFHQefOaopqipKFiJS13AKBHTtu3wKBpejUKXR0K1lsTclCRMqWe9iX4oUXwgztfv2Sv2YUwXPPwdtvJ3+tLFGyEJGyddNNcMst8OMfw4knts41c1utzpzZOtfLCiULESlLc+eGCXcnnAA/+lHrXbe6OgzJVVPUJyWaLMxstJktMbNlZnZBE69PNLP58eNFM3s377V+ZvawmS0ys4Vm1j/JWEWkfLzzTuin2GOPHVsgsBQdOoSFBZUsPimxSXlmVgVcDxwP1ANzzGyquy/MlXH3b+eVPx84LO8tbgGudvdHzGwXoCGpWEWkfDQ0wL/9W5ip/dhjYXOi1hZF8OCDsGIF9O7d+tcvR0nWLIYCy9z9ZXffAEwGTm2m/FjgdgAzGwy0d/dHANx9rbuvSzBWESkTP/kJPPBA2EP7yCPTiSHXb6GlP7ZIMln0AZbnPa+Pj23FzPYBBgC5it8g4F0zu9vM5pnZNXFNpfF548yszszqVq1a1cLhi0hrmz49dGaPHQtf/3p6cRxyCHTtqqaofEkmi6aW9/JtlB0D3OXum+Pn7YFjge8BRwD7Auds9WbuN7p7tbtX99yRxexFJHVvvBGSxAEHwI03ttwCgaWoqoJRo1SzyJdksqgH9s573hdYsY2yY4iboPLOnRc3YW0C7gUOTyRKEUndxo1wxhlhAt6UKS27QGCpamrglVfCQ5JNFnOAgWY2wMw6EhLC1MaFzOwAoCvwZKNzu5pZrroQAQsbnysileEHP4C//Q1+9zs48MC0owmiKPxU7SJILFnENYLxwDRgEXCHuy8wsyvM7JS8omOBye7ueeduJjRBTTez5wlNWjclFauIpOfOO+FXvwpzKs48M+1othg8GHr1UrLIsbzP6Eyrrq72urq6tMMQke2wZEmYBPeZz8Cjj4b1n8rJmDFh+G59fbp9KEkys7nuXl2onGZwi0gqPvwQTj89rPJ6xx3llyggNEWtWBFWvW3rlCxEpNW5w9e+BgsXwm23wd57Fz4nDeq32ELJQkRa3Q03wB//CJddBscfn3Y027bfftC3r+ZbgJKFiLSyujqYMAFGj4ZLLkk7muaZhdrFjBlhGZK2TMlCRFrN6tVhgcA99ww1i3YZ+ASKorC3xQsvpB1JujLwVyUilaChAb78ZVi5Eu66C7p3Tzui4midqEDJQkRaxdVXw0MPhTkVRxyRdjTF69cv9F209X4LJQsRSdwjj8Cll8LZZ4dRUFkTRWEeyObNhctWKiULEUnU8uVw1llhRvQNN2RzclsUwXvvwbx5aUeSHiULEUnMhg1hgcD168MCgTvvnHZEpRk1Kvxsy01RShYikpjvfx9mz4abbw5Lj2fVnnuGmpGShYhIC/vTn+Daa8Ocii99Ke1odlwUweOPh9pSW6RkISItbvFi+OpXYdgw+NnP0o6mZdTUhPWs5sxJO5J0tE87AJHG3nwT/vu/4Ykn0o6k5ey/f/hmetxxsO++aUeTrLVry3+BwFKMHBk652trYfjwtKNpfUoWUjbeeSd8C7322lDVHzUKOnVKO6od19AAM2fC5Mnhef/+WxJHTQ3stVea0bUsd/iP/4BFi+Dhh8O6SpWie3c49NCQLH70o7SjaX1KFpK6998PE7V+8Qv44IOwD/Nll8HAgWlH1nLcQ9NMbS1Mnw533x06fSF0nOaSx8iR0LVrurHuiN/8Jqwie9VV8NnPph1Ny4siuO46+Ogj2GmntKNpXdr8SFLz0Udw/fWhyWn1avj85+HKK8NGOJVu82aYPz8kjtrasMHOunVhraTDD9+SPIYPz85w06efhmOOgRNOgKlTs7Hu0/Z64AE4+eTw95Zbvjzrit38SMlCWt2GDTBpUvj2uXJl+HC56qpsLQHR0jZsgKee2lLzmD0bNm6EDh1CJ3EueQwdWp59AG+/HZJcVRXMnQvduqUdUTLefz/c2wUXhH+zlUDJQsrOpk1hpdHLL4dXXw3fQq++GkaMSDuy8vPhh2GYZi55PPNMaMraeWc49tgtyeOQQ8IHdJo2b4Z/+Zew0N4TT4RtUivZsGGh1lQpAzCKTRbqs5DENTSEVUZ//OOw5/KQIaFt+8QTs7n0Q2vYeefw53PiieH5mjWhkzyXPH7wg3C8a9fQSZ5LHgcc0Pp/plddBdOmwW9/W/mJAsKf9zXXhP61XXdNO5rWo5qFJMY9tPFecgk8+2zoyL3ySjjtNCWJHbVyZUgcueTx2mvheO/eIXHkkke/fsnGMW0anHQS/Ou/wh/+0Db+Xv/617C734MPhnvPOjVDSapqa0OSePLJMK/g8svDKKe0m0wqkTu88sqWzvLaWnjrrfDafvuFpJFLID17ttx1X3899FPstVfob/nUp1ruvcvZunWhRjdhQmVMOFSykFTMng0XXxw+sPr2DePRzz03dNRK63CHBQu2JI+ZM0PHLMDBB29JHCNHQpcupV1jw4bQ17RwYdgmddCgFgs/E0aODP1KlfCRU2yySHRwm5mNNrMlZrbMzC5o4vWJZjY/frxoZu82er2Lmb1hZtclGafsuGefhc99LnT+Pf88TJwIS5fCuHFKFK3NLAw/njAB7rsvDEt+6in4r/+CXr1C38Ipp4RRPUcdFZL79OlhKHOxvvvd8J4339z2EgWEZPvMM6Evqc1w90QeQBXwErAv0BF4FhjcTPnzgZsbHfu/wG3AdYWuN2TIEJfWt3ix+xlnuIP77ru7X321+wcfpB2VNOejj9xnzHC/5BL3o492r6oKf3+dOrlHkftVV7k/+aT7xo1Nn3/77aH8t7/dqmGXlVmzwp/BPfekHcmOA+q8iM/0JGsWQ4Fl7v6yu28AJgOnNlN+LHB77omZDQH2AB5OMEYp0auvhualwYNDJ/bFF4d284sugl12STs6aU7nzmEplSuvDMM/16wJf4ff+EZYcuWSS0INsVu3UFucOBGeey6Malu4MCwQOHw4/PSnad9JeoYODTO429K+3EkOne0DLM97Xg8c2VRBM9sHGADUxs/bAb8Avgwcl2CMbN4ctno8+ujQETh4cNsY0VGqlSvDUMmbbgpjzSdMCBOUevVKOzIp1a67wj//c3hAmGA3c+aWPo8//zkc79EjNCnuvHNYfrwtNy926hTmCbWl/S2STBZNfeRuqzd9DHCXu+d2uP068KC7L7dmPrnNbBwwDqBfiWME33gjLDn8pz+F53vssWXYYRTBgAElvW3Fefvt8E3yuuvC5Lr/83/CN9BKWihOgh494ItfDA8I26LOmLFlcuCvfw19+qQbYzmIIrjwwjDyrC18WUpsNJSZDQMuc/cT4+cXArj7T5ooOw/4hrv/LX5+K3As0ADsQujz+B9336qTPGdHR0O9+uonhx6++WY4PmDAJ1cI3XPPki+RSe+9B7/8ZWiKWLs2jKe/9NIwJFOkLXv6aTjyyPBF84wz0o6mdKkPnTWz9sCLhGakN4A5wFnuvqBRuQOAacAAbyIYMzsHqHb38c1dryWHzrqHJZbzhx6+G4/TOuigT64QuvvuLXLJsrNuXahF/PSnoR379NPhiitCM52IhBp2t25w1llhhFlWpb7ch7tvMrPxhERQRRjptMDMriD0vk+Ni44FJjeVKNJiFj4UBw+G888P/Rrz5m1JHpMmhap4u3Zh6Yr8FUKzPjHp449Df8TVV4fa1UknhT6Kww9POzKR8tK+ffjC2Fb6LTQprwQffxzGmOeSx+zZ4VtGx45brxCalU7ATZvCcg1XXBFm5o4cGRJGW9wRTKRYEyfCd74T+nWy2n9XFpPyKlWnTmH26uWXh30I1qyBhx6Cb34zLC522WVhpETXrmGEyc9/HmomDQ1pR761hoawg9vgwWFI5B57hB3OZsxQohAppKYm/GwLQ2hVs0jA6tXw6KNbah6LF4fj3bp9coXQQYPSG6brDvffH5bjeO45+Kd/CuPuTzlFQ4dFitXQENbbOuUU+P3v046mNKn3WbRl3bvDF74QHhCG5+aGHk6fDlOmhON9+nxymO7eeycfm3uI4eKLw2iOgQPDNphnnlmZO5uJJKldu/AFsLY2/N+q5C9a+nhoBX36hCGnv/99WEp66VK44YbQzPPQQ3DOOWEp6UGD4GtfgzvvhFWrWj6Ov/0tJKXjjw+T6yZNCjNyx45VohApVU1N6Od75ZW0I0mWahatzAz23z88xo0L1dgXXtiyL8Ftt4VEAmEXtFzN49hjS18hdN68MIHuwQdDn8S114Zrd+rUcvcl0lbl9uKurQ3L8Vcq9VmUmU2bwrLHueTxxBNh9FVVVRhdlUsew4aFNX6as2hR2J3urrtCZ/sPfwjjx4flGkSkZbiHTadqasKXvaxJfVJea6uUZNHY+vWh+SiXPObMCfM+OncOzVi55DFkSBj3DfDyy2Gk1h//GOZ9fOc74bHbbunei0ilOvvs8H90xYrs9VsoWVSo99+HWbO2JI/nngvHu3QJcyO6dYNbbw2JY/z4UJvo0SPdmEUq3aRJcN55oQ/wwAPTjmb7tOhoKDObAtwMPOTuZThboO3o0gVOPjk8IHSEz5jxyb2Yx40Lo5169043VpG2Ir/fImvJolhF1SzM7LPAucBRwJ3A/7r74oRj2y5tpWZRyObN2udapLW5h0VHq6tDH2GWtOgMbnf/q7ufDRwOvAo8YmZ/M7NzzSwjC1q0DUoUIq3PLHRwz5hRnis1tISiR9ebWXfgHOCrwDzClqeHA48kEpmISIZEUVihOdePWGmKShZmdjfwGPAp4HPufoq7/8ndzyfsNyEi0qZV+jpRxdYsrnP3we7+E3dfmf9CMW1dIiKVrm/fsHxOpS5ZXmyyONDM/rHNj5l1NbOvJxSTiEgmRVFYRHTTprQjaXnFJovz3P3d3BN3XwOcl0xIIiLZFEVhm4K5c9OOpOUVmyzamW2Zl2hmVYR9sUVEJDZqVPhZif0WxSaLacAdZnacmUXA7cBfkgtLRCR7evWCz3ymMvstik0WPwRqgf8EvgFMB36QVFAiIlkVRfD442EB0EpS7KS8Bnf/jbt/0d1Pd/cb3H1z0sGJiGRNFMFHH4XNxSpJsfMsBprZXWa20Mxezj2SDk5EJGtGjAgzuiutKarYZqjfA78BNgE1wC3A/0sqKBGRrOraFQ4/vO0mi53cfTph4cHX3P0yIEouLBGR7IoimD0b1q1LO5KWU2yyWG9m7YClZjbezE4DeiUYl4hIZtXUwIYNYeOySlFssvgWYV2obwJDgH8FvlLoJDMbbWZLzGyZmV3QxOsTzWx+/HjRzN6Njx9qZk+a2QIze87Mziz+lkRE0nXMMWEDskpqiiq4+VE8Ae8Md/8+sJawr0VB8XnXA8cD9cAcM5vq7gtzZdz923nlzwcOi5+uA/7N3ZeaWW9grplNy59FLiJSrnbdFYYOrazJeQVrFvEQ2SH5M7iLNBRY5u4vu/sGYDJwajPlxxIm++HuL7r70vj3FcBbQM/tvL6ISGpqamDOnLAVciUothlqHnCfmX3ZzL6QexQ4pw+wPO95fXxsK2a2DzCAMPGv8WtDCUuLvNTEa+PMrM7M6latWlXkrYiIJC+Kws6Vjz2WdiQto9hk0Q1YTRgB9bn4cXKBc5qqiWxrD9cxwF2NJ/qZ2V6EIbrnNrX3t7vf6O7V7l7ds6cqHiJSPoYNg06dKqffomCfBYC7F9VP0Ug9sHfe877Aim2UHUNYRuQfzKwL8ABwibvPLuH6IiKp2WknOProyum3KCpZmNnvaaJW4O7/3sxpc4CBZjYAeIOQEM5q4r0PALoCT+Yd6wjcA9zi7ncWE6OISLmpqYFLL4XVq6F797Sj2THFNkP9mfAt/wHCIoJdCCOjtsndNwHjCSvWLgLucPcFZnaFmZ2SV3QsMNnd85PRGcAI4Jy8obWHFhmriEhZiCJwDxsiZZ198jO6yJPCBL2/unvZzOKurq72urq6tMMQEfmHDRugWzc491z49a/TjqZpZja3mO2xi61ZNDYQ6FfiuSIibULHjmGCXiV0che76uwHZvZ+7gHcT9jjQkREmhFFsHAhvPlm2pHsmGJHQ+2adCAiIpUoihvrZ86EMWNSDWWHFFuzOM3Mdst7vruZfT65sEREKsNhh8Fuu2W/KarYPotL3f293JN4jaZLkwlJRKRyVFXByJFtJ1k0Va6oJiwRkbYuiuCll+D119OOpHTFJos6M/ulme1nZvua2URgbpKBiYhUily/RZZncxebLM4HNgB/Au4APqLR8hwiItK0gw6CHj2y3RRV7GioD4GtNi8SEZHC2rULS3/U1oYZ3du94UMZKHY01CNmtnve865mNi25sEREKksUQX196LvIomKboXrk71Ln7mvQHtwiIkWrqQk/s9oUVWyyaDCzfyzvYWb92fbeFCIi0sigQdC7d3aTRbHDXy8GHjez3NqJI4BxyYQkIlJ5zEJT1MMPZ7Pfoqiahbv/BagGlhBGRH2XMCJKRESKVFMDb70V1orKmmI3P/oqMIGw29184CjCZkVls0S5iEi5y823qK0Nw2mzpNg+iwnAEcBr7l4DHAasSiwqEZEK1L8/DBiQzcl5xSaL9e6+HsDMOrn7YuCA5MISEalMNTVhBdrNm9OOZPsUmyzq43kW9wKPmNl9wIrkwhIRqUxRBGvWwLPPph3J9il2Bvdp8a+XmdkMYDfgL4lFJSJSofLnWxx+eLqxbI/t3lbV3R9196nuviGJgEREKlnv3vDpT2ev36LUPbhFRKRENTUwaxZs3Jh2JMVTshARaWVRBGvXQl1d2pEUT8lCRKSVjRoVfmapKSrRZGFmo81siZktM7Otljg3s4lmNj9+vGhm7+a99hUzWxo/vpJknCIiralHDzj44GytE5XY1qhmVgVcDxwP1ANzzGyqu/9joru7fzuv/PmEyX6YWTfCHt/VhAUL58bnrkkqXhGR1hRF8NvfwscfQ6dOaUdTWJI1i6HAMnd/OR45NRk4tZnyY4Hb499PBB5x93fiBPEIMDrBWEVEWlUUwfr1MHt22pEUJ8lk0QdYnve8Pj62FTPbBxgA5CplRZ8rIpJFI0aEHfSy0hSVZLJoagHebe2BMQa4y91zE+CLOtfMxplZnZnVrVqlpapEJDt22w2GDFGygFAb2DvveV+2vUTIGLY0QRV9rrvf6O7V7l7ds2fPHQxXRKR1RRE89RR8+GHakRSWZLKYAww0swFm1pGQEKY2LmRmBwBdCUue50wDToj3+u4KnBAfExGpGFEUJuY98UTakRSWWLJw903AeMKH/CLgDndfYGZXmNkpeUXHApPd3fPOfQe4kpBw5gBXxMdERCrG8OHQoUM2mqIs7zM606qrq70uS9MhRUSAY48Nw2effjqd65vZXHevLlROM7hFRFIURTB3Lrz3XtqRNE/JQkQkRTU10NAQFhYsZ0oWIiIpOuoo6Ny5/PstlCxERFLUuXPo6C73RQWVLEREUlZTE7ZZffvttCPZNiULEZGURVH4OXNmqmE0S8lCRCRl1dWwyy7l3RSlZCEikrIOHcJ8i3Lu5FayEBEpA1EEixfDim2toJcyJQsRkTKQ67co16YoJQsRkTJwyCHQtauShYiINKOqCkaOLN9+CyULEZEyEUXwyivw6qtpR7I1JQsRkTJRzv0WShYiImVi8GDo1as8m6KULEREyoRZWPqjthbKbashJQsRkTISRWGuxdKlaUfySUoWIiJlpKYm/Cy3piglCxGRMrL//tC3r5KFiIg0wyw0Rc2YEXbQKxdKFiIiZSaKwt4WCxakHckWShYiImWmHPstlCxERMpMv36w335tKFmY2WgzW2Jmy8zsgm2UOcPMFprZAjO7Le/4z+Jji8zsWjOzJGMVESknUQSPPgqbN6cdSZBYsjCzKuB64CRgMDDWzAY3KjMQuBAY7u4HAd+Kjx8NDAcOBj4DHAGMTCpWEZFyU1MD770H8+alHUmQZM1iKLDM3V929w3AZODURmXOA6539zUA7v5WfNyBzkBHoBPQAfh7grGKiJSVcuu3SDJZ9AGW5z2vj4/lGwQMMrMnzGy2mY0GcPcngRnAyvgxzd0XJRiriEhZ2XPPsFZUuSwqmGSyaKqPofFqJ+2BgcAoYCwwycx2N7P9gQOBvoQEE5nZiK0uYDbOzOrMrG7VqlUtGryISNpqauCxx2DDhrQjSTZZ1AN75z3vCzTeXbYeuM/dN7r7K8ASQvI4DZjt7mvdfS3wEHBU4wu4+43uXu3u1T179kzkJkRE0hJF8OGHMGdO2pEkmyzmAAPNbICZdQTGAFMblbkXqAEwsx6EZqmXgdeBkWbW3sw6EDq31QwlIm3KyJFhRnc59FsklizcfRMwHphG+KC/w90XmNkVZnZKXGwasNrMFhL6KL7v7quBu4CXgOeBZ4Fn3f3+pGIVESlH3bvDoYeWR7+Febktml6i6upqr6urSzsMEZEW9d3vwvXXw5o1sNNOLf/+ZjbX3asLldMMbhGRMhZF8PHH8OST6cahZCEiUsaOPRaqqtJvilKyEBEpY126QHV1+p3cShYiImUuiuDpp2Ht2vRiULIQESlzUQSbNsHjj6cXg5KFiEiZO/po6NAh3aYoJQsRkTL3qU/BsGFKFiIiUkAUheXK16xJ5/pKFiIiGVBTAw0NMGtWOtdXshARyYAjjwwzuNNqilKyEBHJgE6d4JhjlCxERKSAKIIXXoC33ipctqUpWYiIZERuq9WZM1v/2koWIiIZMWQI7LprOk1RShYiIhnRvn3YECmNRQWVLEREMqSmBl58EerrW/e6ShYiIhkSReFna9culCxERDLk4IOhWzclCxERaUa7djBqFEyfDq25K7aShYhIxkQRvP46vPJK611TyUJEJGNy/RatOYRWyUJEJGM+/WnYc8/W7bdQshARyRizMIS2trb1+i2ULEREMiiK4M03YfHi1rleosnCzEab2RIzW2ZmF2yjzBlmttDMFpjZbXnH+5nZw2a2KH69f5KxiohkSWvPt0gsWZhZFXB/Rt6IAAAHF0lEQVQ9cBIwGBhrZoMblRkIXAgMd/eDgG/lvXwLcI27HwgMBVJYZ1FEpDwNGAD9+rVeJ3eSNYuhwDJ3f9ndNwCTgVMblTkPuN7d1wC4+1sAcVJp7+6PxMfXuvu6BGMVEckUs1C7mDEj7KCXtCSTRR9ged7z+vhYvkHAIDN7wsxmm9novOPvmtndZjbPzK6JayoiIhKLInjnHXj++eSvlWSysCaONe63bw8MBEYBY4FJZrZ7fPxY4HvAEcC+wDlbXcBsnJnVmVndqlWrWi5yEZEMyO1v0RpNUUkmi3pg77znfYEVTZS5z903uvsrwBJC8qgH5sVNWJuAe4HDG1/A3W9092p3r+7Zs2ciNyEiUq769oWBA7OfLOYAA81sgJl1BMYAUxuVuReoATCzHoTmp5fjc7uaWS4DRMDCBGMVEcmkc84JiwsmrX1Sb+zum8xsPDANqAJudvcFZnYFUOfuU+PXTjCzhcBm4PvuvhrAzL4HTDczA+YCNyUVq4hIVl10Uetcx7w1ly1MUHV1tdfV1aUdhohIppjZXHevLlROM7hFRKQgJQsRESlIyUJERApSshARkYKULEREpCAlCxERKUjJQkRECqqYeRZmtgp4bQfeogfwdguFk6ZKuQ/QvZSrSrmXSrkP2LF72cfdC66XVDHJYkeZWV0xE1PKXaXcB+heylWl3Eul3Ae0zr2oGUpERApSshARkYKULLa4Me0AWkil3AfoXspVpdxLpdwHtMK9qM9CREQKUs1CREQKUrKImdmVZvacmc03s4fNrHfaMZUq3rN8cXw/98Rb1WaSmX3JzBaYWYOZZW7kipmNNrMlZrbMzC5IO54dYWY3m9lbZvZC2rHsCDPb28xmmNmi+N/WhLRjKpWZdTazp83s2fheLk/sWmqGCsysi7u/H//+TWCwu38t5bBKYmYnALXxBlQ/BXD3H6YcVknM7ECgAbgB+J67Z2bTEjOrAl4EjidsFTwHGOvumdz10cxGAGuBW9z9M2nHUyoz2wvYy92fMbNdCZurfT6Lfy/x5nA7u/taM+sAPA5McPfZLX0t1SxiuUQR2xnIbBZ194fjvcsBZhP2P88kd1/k7kvSjqNEQ4Fl8V7yG4DJwKkpx1Qyd58FvJN2HDvK3Ve6+zPx7x8Ai4A+6UZVGg/Wxk87xI9EPruULPKY2dVmthw4G/hx2vG0kH8HHko7iDaqD7A873k9Gf1QqlRm1h84DHgq3UhKZ2ZVZjYfeAt4xN0TuZc2lSzM7K9m9kITj1MB3P1id98buBUYn260zSt0L3GZi4FNhPspW8XcS0ZZE8cyW2OtNGa2CzAF+FajloVMcffN7n4ooQVhqJkl0kTYPok3LVfu/tkii94GPABcmmA4O6TQvZjZV4CTgeO8zDumtuPvJWvqgb3znvcFVqQUi+SJ2/enALe6+91px9MS3P1dM5sJjAZafBBCm6pZNMfMBuY9PQVYnFYsO8rMRgM/BE5x93Vpx9OGzQEGmtkAM+sIjAGmphxTmxd3Cv8OWOTuv0w7nh1hZj1zox3NbCfgsyT02aXRUDEzmwIcQBh58xrwNXd/I92oSmNmy4BOwOr40OwMj+w6Dfg10BN4F5jv7iemG1XxzOyfgV8BVcDN7n51yiGVzMxuB0YRVjj9O3Cpu/8u1aBKYGbHAI8BzxP+vwNc5O4PphdVaczsYOAPhH9f7YA73P2KRK6lZCEiIoWoGUpERApSshARkYKULEREpCAlCxERKUjJQkREClKyENkOZra2cKlmz7/LzPaNf9/FzG4ws5fiFUNnmdmRZtYx/r1NTZqV8qZkIdJKzOwgoMrdX44PTSIszDfQ3Q8CzgF6xIsOTgfOTCVQkSYoWYiUwIJr4jWsnjezM+Pj7czsf+Kawp/N7EEz+2J82tnAfXG5/YAjgUvcvQEgXp32gbjsvXF5kbKgaq5Iab4AHAocQpjRPMfMZgHDgf7APwG9CMtf3xyfMxy4Pf79IMJs9M3beP8XgCMSiVykBKpZiJTmGOD2eMXPvwOPEj7cjwHudPcGd38TmJF3zl7AqmLePE4iG+LNeURSp2QhUpqmlh9v7jjAR0Dn+PcFwCFm1tz/wU7A+hJiE2lxShYipZkFnBlvPNMTGAE8TdjW8vS472IPwsJ7OYuA/QHc/SWgDrg8XgUVMxuY28PDzLoDq9x9Y2vdkEhzlCxESnMP8BzwLFAL/CBudppC2MfiBcK+4U8B78XnPMAnk8dXgT2BZWb2PHATW/a7qAEytwqqVC6tOivSwsxsF3dfG9cOngaGu/ub8X4DM+Ln2+rYzr3H3cCFGd5/XCqMRkOJtLw/xxvSdASujGscuPtHZnYpYR/u17d1crxR0r1KFFJOVLMQEZGC1GchIiIFKVmIiEhBShYiIlKQkoWIiBSkZCEiIgUpWYiISEH/H8WaNgUQrcYjAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xdf4a390>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.svm import LinearSVC\n",
    "# 对每一个C参数，进行线性svn训练函数\n",
    "def fit_linear_svc_c(C, penalty, X_train, y_train, X_val, y_val):\n",
    "    svc= LinearSVC(C = C, penalty = penalty)\n",
    "    svc = svc.fit(X_train, y_train)\n",
    "    \n",
    "    # 在校验集上返回accuracy\n",
    "    accuracy = svc.score(X_val, y_val)\n",
    "    \n",
    "    print(\"accuracy: {}\".format(accuracy))\n",
    "    return accuracy\n",
    "\n",
    "def fit_linear_svc(penalty, X_train, y_train, X_val, y_val):\n",
    "    #需要调优的参数\n",
    "    Cs = [0.001, 0.01, 0.1, 1, 10, 100, 1000]\n",
    "\n",
    "    accuracy_s = []\n",
    "    for i, oneC in enumerate(Cs):\n",
    "    #    for j, penalty in enumerate(penalty_s):\n",
    "        tmp = fit_linear_svc_c(oneC, penalty, X_train, y_train, X_val, y_val)\n",
    "        accuracy_s.append(tmp)\n",
    "\n",
    "    x_axis = np.log10(Cs)\n",
    "\n",
    "    #for j, penalty in enumerate(penalty_s):\n",
    "    pyplot.plot(x_axis, np.array(accuracy_s), 'b-')\n",
    "\n",
    "    pyplot.legend()\n",
    "    pyplot.xlabel( 'log(C)' )                                                                                                      \n",
    "    pyplot.ylabel( 'accuracy' )\n",
    "    pyplot.savefig('SVC.png' )\n",
    "\n",
    "    pyplot.show()\n",
    "    \n",
    "fit_linear_svc('l2', X_train, y_train, X_val, y_val)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "从而得出最大的评测得分是0.780487804878，最佳的正则参数是：100"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### RBF核SVM正则参数调优"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[  0.1   1.   10.  100. ]\n",
      "[1.e-05 1.e-04 1.e-03 1.e-02]\n",
      "accuracy: 0.626016260163\n",
      "accuracy: 0.626016260163\n",
      "accuracy: 0.626016260163\n",
      "accuracy: 0.626016260163\n",
      "accuracy: 0.626016260163\n",
      "accuracy: 0.626016260163\n",
      "accuracy: 0.626016260163\n",
      "accuracy: 0.747967479675\n",
      "accuracy: 0.626016260163\n",
      "accuracy: 0.626016260163\n",
      "accuracy: 0.739837398374\n",
      "accuracy: 0.764227642276\n",
      "accuracy: 0.626016260163\n",
      "accuracy: 0.731707317073\n",
      "accuracy: 0.756097560976\n",
      "accuracy: 0.739837398374\n"
     ]
    }
   ],
   "source": [
    "from sklearn.svm import SVC\n",
    "# 对每一个C参数，进行RBF核sVM训练函数\n",
    "def fit_grid_point_RBF(C, gamma, X_train, y_train, X_val, y_val):\n",
    "    \n",
    "    # 在训练集是那个利用SVC训练\n",
    "    SVC3 =  SVC( C = C, kernel='rbf', gamma = gamma)\n",
    "    SVC3 = SVC3.fit(X_train, y_train)\n",
    "    \n",
    "    # 在校验集上返回accuracy\n",
    "    accuracy = SVC3.score(X_val, y_val)\n",
    "    \n",
    "    print(\"accuracy: {}\".format(accuracy))\n",
    "    return accuracy\n",
    "\n",
    "#需要调优的参数\n",
    "C_s = np.logspace(-1, 2, 4)# logspace(a,b,N)把10的a次方到10的b次方区间分成N份 \n",
    "gamma_s = np.logspace(-5, -2, 4)  \n",
    "print C_s\n",
    "print gamma_s\n",
    "\n",
    "accuracy_s = []\n",
    "for i, oneC in enumerate(C_s):\n",
    "    for j, gamma in enumerate(gamma_s):\n",
    "        tmp = fit_grid_point_RBF(oneC, gamma, X_train, y_train, X_val, y_val)\n",
    "        accuracy_s.append(tmp)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "所以得出最大的评测分数 0.764227642276， 最佳参数：gamma=1.e-02 , C=10"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 总结"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "线性SVM 与 RBF核SVM差不多，两者都比Logistic回归评分高。原因主要是SVM模型"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.14"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
